﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Domain;

namespace Clannan.Models.JsonModel
{
    public class PageJsonModel
    {
        private int id;
        public int ID
        {
            get { return id; }
            set { id = value; }
        }

        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private string content;
        public string Content
        {
            get { return content; }
            set { content = value; }
        }

        private DateTime createTime;
        public DateTime CreateTime
        {
            get { return createTime; }
            set { createTime = value; }
        }

        private DateTime updateTime;
        public DateTime UpdateTIme
        {
            get { return updateTime; }
            set { updateTime = value; }
        }

        private int areaID;
        public int AreaID
        {
            get { return areaID; }
            set { areaID = value; }
        }

        private string areaName;
        public string AreaName
        {
            get { return areaName; }
            set { areaName = value; }
        }

        private int notebookID;
        public int NoteBookID
        {
            get { return notebookID; }
            set { notebookID = value; }
        }

        private string notebookName;
        public string NoteBookName
        {
            get { return notebookName; }
            set { notebookName = value; }
        }

        /// <summary>
        /// 将对象复制给JsonModel类，防止序列化时会出现重复引用
        /// </summary>
        public PageJsonModel Copy(PageJsonModel pageJsonModel, Page page)
        {
            pageJsonModel.ID = page.ID;
            pageJsonModel.Name = page.Name;
            pageJsonModel.Content = page.Content;
            pageJsonModel.CreateTime = page.CreateTime;
            pageJsonModel.UpdateTIme = page.UpdateTime;
            pageJsonModel.AreaID = page.Area.ID;
            pageJsonModel.AreaName = page.Area.Name;
            pageJsonModel.NoteBookID = page.Area.NoteBook.ID;
            pageJsonModel.NoteBookName = page.Area.NoteBook.Name;
            return pageJsonModel;
        }
    }
}